rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
↳ QTRS
↳ DependencyPairsProof
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
REV1(++2(x, y)) -> REV1(x)
REV1(++2(x, y)) -> REV1(y)
++12(x, ++2(y, z)) -> ++12(++2(x, y), z)
REV1(++2(x, y)) -> ++12(rev1(y), rev1(x))
++12(x, ++2(y, z)) -> ++12(x, y)
++12(.2(x, y), z) -> ++12(y, z)
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
REV1(++2(x, y)) -> REV1(x)
REV1(++2(x, y)) -> REV1(y)
++12(x, ++2(y, z)) -> ++12(++2(x, y), z)
REV1(++2(x, y)) -> ++12(rev1(y), rev1(x))
++12(x, ++2(y, z)) -> ++12(x, y)
++12(.2(x, y), z) -> ++12(y, z)
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
++12(x, ++2(y, z)) -> ++12(++2(x, y), z)
++12(x, ++2(y, z)) -> ++12(x, y)
++12(.2(x, y), z) -> ++12(y, z)
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
++12(x, ++2(y, z)) -> ++12(++2(x, y), z)
++12(x, ++2(y, z)) -> ++12(x, y)
Used ordering: Polynomial Order [17,21] with Interpretation:
++12(.2(x, y), z) -> ++12(y, z)
POL( ++2(x1, x2) ) = x1 + 2x2 + 2
POL( .2(x1, x2) ) = max{0, 2x2 - 3}
POL( nil ) = max{0, -3}
POL( ++12(x1, x2) ) = 2x2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
++12(.2(x, y), z) -> ++12(y, z)
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
++12(.2(x, y), z) -> ++12(y, z)
POL( .2(x1, x2) ) = 2x2 + 1
POL( ++12(x1, x2) ) = x1 + 3
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
REV1(++2(x, y)) -> REV1(y)
REV1(++2(x, y)) -> REV1(x)
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REV1(++2(x, y)) -> REV1(y)
REV1(++2(x, y)) -> REV1(x)
POL( ++2(x1, x2) ) = 2x1 + 2x2 + 1
POL( REV1(x1) ) = x1 + 3
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)